class Person(object):  # 声明一个类，所有类的最上层都是object类型
    def __init__(self, name):  # 构造方法
        self.__name = name  # __开头的属性，python就会自动被影藏

    def show(self):
        print("我的名字叫%s" % self.__name)

    @property
    def name(self):  # 提供的getter方法，为了外层方便实用，方法名就是属性名，外面直接实例.属性名的方式访问
        return self.__name

    @name.setter
    def name(self, name): # 提供setter方法
        self.__name = name


p = Person("张三")  # 创建一个实例
p.show()
print(p.name)
p.name = "李四"
p.show()
